var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var routes = require('./routes/index');

//----------
// //设置数据库
var settings = require('./settings');
// //设置flash
var flash = require('connect-flash');

var multer = require('multer');
//----------

var app = express();

// app.set('port', process.env.PORT || '3000');
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

//------------ 
app.use(flash());
//----------

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cookieParser());
//将静态文件目录设置为public文件夹
app.use(express.static(path.join(__dirname, 'public')));

//------------ 
var session = require('express-session');

var MongoStore = require('connect-mongo')(session);

app.use(session({
  resave: false,
  saveUninitialized: true,
  secret: settings.cookieSecret,
  key: settings.db,
  cookie: {maxAge: 1000 * 60 * 60 *24 * 30},
  store: new MongoStore({
    db: settings.db,
    host: settings.host,
    port: settings.port
  })
}));

app.use(multer({
  dest: './public/images',
  rename: function (filedname, filename) {
    return filename;
  }
}));

routes(app);

//-------------
module.exports = app;
